﻿//
// Created by HONOR on 2024/3/26.
//
#include <stdio.h>

// 三元运算符、三元表达式、问号冒号运算符
// 格式：
// 关系表达式 ？ 表达式1 ：表达式2 ：
void Triple_operation() {
    int a = 10;
    int b = 20;
    int c = a > b ? a : b;
    printf("%d\n", c);
    printf("%d\n", a > b ? a : b);
}

void practice5() {
// 练习：获取三个变量中最大的值
    int a = 40;
    int b = 30;
    int c = 20;
    int d = a > b ? a : b;
    int f = d > c ? d : c;
    printf("%d", f);
}


// 三元运算符
// 格式：关系表达式？ 表达式1 ： 表达式2；
// 范例：求两个数的最大值
// 计算规则：
// 首先计算关系表达式的值
// 如果成立，表达式1的值就是运算结果
// 如果不成立，表达式2的值就是运算结果




// 逗号运算符（分割符）
// 规则：
//1. 从左到右
//2.最后一个表达式的结果式整个表达式的结果
//3.优先级别最低（永远最后执行）
// 直接输出的时候要使用括号将所有的表达式扩起来

int Comma_separator() {
    // 逗号运算符（分隔符）
    int i;
    printf("%d\n",(i = 3, ++i, i++, i + 5));
    return 0;
}
// 主持人给出任意一个数字，有三位小朋友对这个数字进行了不同的操作。
// 注意每个小朋友都是拿着前一个的结果进行操作
// 第一个小朋友：变成该数字的绝对值
// 第二个小朋友：除以这个数的余数
// 第三个小朋友：乘以10
// 请问该数字的最终为多少
void p1(){
    int a;
    int i;
    printf("输入一个数字：\n");
    scanf("%d",&a);
    if (a >= 0)
        i = a;
    else
        i = -(a);
    printf("经过第一个小朋友的数字%d\n",i);
    i %= 3;
    printf("经过第二个小朋友的数字%d\n",i);
    i *= 10;
    printf("经过第三个小朋友的数字%d\n",i);

}


//
// 利用三元运算符和逗号分割符
void p2(){
    int a;
    int i;
    printf("输入一个数字：\n");
    scanf("%d",&a);
    printf("%d",(a=(a >= 0 ? a:-(a)), a=(a%3),a*10));
}
//int main() {
//    setbuf(stdout,NULL);
//    // practice5();
////    Comma_separator();
////p1();
//p2();
//
//    return 0;

//}